<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/Stockholm.SOA.Kaskelot.WCF.DataContracts.Analys" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Stockholm.SOA.Kaskelot.WCF.DataContracts.Analys" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://sp.precio.base/_vti_bin/kaskelot.sp.resources/clientanalysservice.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="http://sp.precio.base/_vti_bin/kaskelot.sp.resources/clientanalysservice.svc?xsd=xsd0" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="FieldFilter">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:IFilterPart">
        <xs:sequence>
          <xs:element minOccurs="0" name="Field" nillable="true" type="tns:Field" />
          <xs:element minOccurs="0" name="Operator" type="tns:FilterOperator" />
          <xs:element minOccurs="0" name="Value" nillable="true" type="xs:anyType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FieldFilter" nillable="true" type="tns:FieldFilter" />
  <xs:complexType name="IFilterPart">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="IFilterPart" nillable="true" type="tns:IFilterPart" />
  <xs:complexType name="Field">
    <xs:sequence>
      <xs:element minOccurs="0" name="DataType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DataTypeInGrid" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InternalName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsChecked" type="xs:boolean" />
      <xs:element minOccurs="0" name="LookupColumn" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameInGrid" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameInQueryBuilder" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Field" nillable="true" type="tns:Field" />
  <xs:simpleType name="FilterOperator">
    <xs:restriction base="xs:string">
      <xs:enumeration value="IsLessThan" />
      <xs:enumeration value="IsLessThanOrEqualTo" />
      <xs:enumeration value="IsEqualTo" />
      <xs:enumeration value="IsNotEqualTo" />
      <xs:enumeration value="IsGreaterThanOrEqualTo" />
      <xs:enumeration value="IsGreaterThan" />
      <xs:enumeration value="StartsWith" />
      <xs:enumeration value="EndsWith" />
      <xs:enumeration value="Contains" />
      <xs:enumeration value="DoesNotContain" />
      <xs:enumeration value="IsContainedIn" />
      <xs:enumeration value="IsNotContainedIn" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="FilterOperator" nillable="true" type="tns:FilterOperator" />
  <xs:complexType name="FilterGroup">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:IFilterPart">
        <xs:sequence>
          <xs:element minOccurs="0" name="Operator" type="tns:GroupOperator" />
          <xs:element minOccurs="0" name="Parts" nillable="true" type="tns:ArrayOfIFilterPart" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="FilterGroup" nillable="true" type="tns:FilterGroup" />
  <xs:simpleType name="GroupOperator">
    <xs:restriction base="xs:string">
      <xs:enumeration value="And" />
      <xs:enumeration value="Or" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="GroupOperator" nillable="true" type="tns:GroupOperator" />
  <xs:complexType name="ArrayOfIFilterPart">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="IFilterPart" nillable="true" type="tns:IFilterPart" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfIFilterPart" nillable="true" type="tns:ArrayOfIFilterPart" />
  <xs:complexType name="Query">
    <xs:sequence>
      <xs:element minOccurs="0" name="DisplayFields" nillable="true" type="tns:ArrayOfField" />
      <xs:element minOccurs="0" name="Entities" nillable="true" type="tns:ArrayOfEntity" />
      <xs:element minOccurs="0" name="Filters" nillable="true" type="tns:ArrayOfIFilterPart" />
      <xs:element minOccurs="0" name="IsPersonal" type="xs:boolean" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="QueryID" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Query" nillable="true" type="tns:Query" />
  <xs:complexType name="ArrayOfField">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Field" nillable="true" type="tns:Field" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfField" nillable="true" type="tns:ArrayOfField" />
  <xs:complexType name="ArrayOfEntity">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Entity" nillable="true" type="tns:Entity" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfEntity" nillable="true" type="tns:ArrayOfEntity" />
  <xs:complexType name="Entity">
    <xs:sequence>
      <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="CannotBeCombinedWith" nillable="true" type="q1:ArrayOfstring" />
      <xs:element minOccurs="0" name="Fields" nillable="true" type="tns:ArrayOfField" />
      <xs:element minOccurs="0" name="IsChecked" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsPrimary" type="xs:boolean" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Entity" nillable="true" type="tns:Entity" />
  <xs:complexType name="QueryResult">
    <xs:sequence>
      <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Data" nillable="true" type="q2:ArrayOfArrayOfKeyValueOfstringanyType" />
      <xs:element minOccurs="0" name="ErrorMessage" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HasError" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="QueryResult" nillable="true" type="tns:QueryResult" />
  <xs:complexType name="ArrayOfLookupField">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LookupField" nillable="true" type="tns:LookupField" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLookupField" nillable="true" type="tns:ArrayOfLookupField" />
  <xs:complexType name="LookupField">
    <xs:sequence>
      <xs:element minOccurs="0" name="FieldName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Values" nillable="true" type="tns:ArrayOfLookupValue" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LookupField" nillable="true" type="tns:LookupField" />
  <xs:complexType name="ArrayOfLookupValue">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LookupValue" nillable="true" type="tns:LookupValue" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLookupValue" nillable="true" type="tns:ArrayOfLookupValue" />
  <xs:complexType name="LookupValue">
    <xs:sequence>
      <xs:element minOccurs="0" name="ID" type="ser:guid" />
      <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LookupValue" nillable="true" type="tns:LookupValue" />
  <xs:complexType name="ArrayOfQuery">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Query" nillable="true" type="tns:Query" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfQuery" nillable="true" type="tns:ArrayOfQuery" />
</xs:schema>